package com.travel.dao.user;

import com.travel.pojo.user.Sign;
import com.travel.pojo.user.TouristUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.Map;

@Component
@Mapper
public interface TouristUserMapper {

    //根据用户名查询
    TouristUser queryTel(@Param("tel") String tel);

    //根据id查询
    TouristUser queryById(@Param("id")int userid);

    //根据电话查询
    TouristUser queryByPhone(@Param("phoneNumber")String phoneNumber);

    //根据id插入图片路径
    void updateFileUrl(@Param("imageurl")String url,@Param("id")int id);

    //登录查询
    TouristUser queryuserTuser(@Param("tel")String tel,@Param("pwd") String password);

    //注册用户（添加）
    int addTuser(TouristUser touristuser);

    //注销账号密码（删除）
    int deleteTuser(@Param("id") int id);

    //修改个人信息
    int updateTuser(@Param("touristuser") TouristUser touristuser,@Param("id")int id);

    //修改密码（更新）
    void updateTuserpwd(Map<String,Object> map);

    //修改除密码外的其他信息
    int updateTinformation(@Param("touristUserifn") TouristUser touristUser);

    //根据id修改密码
    void updateUserPwdByPhone(@Param("phoneNumber")String phoneNumber,@Param("password")String password);

    //微信用户登录
    int insertWxTuser(TouristUser touristuser);

    //修改用户类型
    void updateUserTypeById(@Param("id")int id,@Param("usertype")int usertype);

    //向普通注册用户更新openid
    void updateUserOpenidById(@Param("id")int id,@Param("openid")String openid);

    //向注册用更新clientid
    int updateUserClientidById(@Param("id")int id,@Param("clientid")String clientid);

    //微信二次登录用户根据微信用户唯一标识unionid进行查询结果
    TouristUser queryWxUserByunionid(@Param("unionid")String unionid);

    //微信二次登录用户根据微信用户唯一标识openid进行查询结果
    TouristUser queryWxUserByopenid(@Param("openid")String openid);

    //增加U豆
    int addBeanNumberById(@Param("userid")int userid,@Param("beannumber")int beannumber);


    //导游创建团U豆更新
    void reduceBeanNUmberById(@Param("userid")int userid,@Param("beannumber")int beannumber);

    //用户注册创建签到表
    int addUserSign(Sign sign);

    //用户每日签到
    int userSign(@Param("Sign")Sign sign,@Param("userid")int userid);
    //更新用户签到表id
    int updateUserSignIdById(@Param("userid")int userid,@Param("signid")int signid);

    //查询每日签到信息
    Sign querySignByUserId(@Param("userid")int userid);

}
